MariaDB安装
================================================

一：介绍

1.1：简介
        官网：https://www.mariadb.org

        MariaDB与 MySQL 区别：
            MySQL创始人将 MySQL AB卖给了 SUN 公司。此后，SUN被甲骨文收购，MySQL的所有权也落入Oracle。有可能面临收费和版权等问题。所以MySQL创始人又在原来的mysql分支上创建了 MariaDB 。支持mysql功能和操作方式并做了扩展。
            百度百科：http://baike.baidu.com/link?url=B2h3aDeGJZ4foSi0muvtwtHFg0MZhx00onFQkCoMTp4__vCpnau7Mz1KjnIiapDRotUgCpGm16RsCoKCYriyQK

        MariaDB 官网下载地址：https://downloads.mariadb.org/


二：二进制包安转

2.1：准备
    MariaDB 包：mariadb-10.1.13-linux-x86_64.tar.gz
    官网安装文档：https://mariadb.com/kb/zh-cn/installing-mariadb-binary-tarballs/
    ~]# yum -y install libaio*

2.1：添加系统用户：mysql，解压包到 /usr/local/，软连接为 mysql 更改mysql相关目录权限，创建mysql数据库目录并更改权限。
        ~]# useradd  -r  mysql

        ~]# tar -axf mariadb-10.1.13-linux-x86_64.tar.gz -C /usr/local/

        ~]# cd /usr/local/

        ~]# ln -s mariadb-10.1.13-linux-x86_64 mysql
            # 备注：ln 软连接是多个版本升级降级使用。

        ~]# cd /usr/local/mysql

        ~]# chown -R root:mysql .

        ~]# mkdir /web/mysql
            # 备注：数据库存放目录。

        ~]# chown -R mysql.mysql /web/mysql
            # 备注：修改 /web/mysql 权限便于 mysql 进程访问。

2.2：添加到系统启动服务，环境变量，查看配置文件生效顺序，并修改配置文件。
        ~]# cp  support-files/mysql.server   /etc/init.d/mysqld
        ~]# ll /etc/init.d/mysqld 
            -rwxr-xr-x 1 root root 12559 Apr 20 18:12 /etc/init.d/mysqld
            # 备注，确保其有执行权限
        ~]# chkconfig --add mysqld
        ~]# chkconfig --list mysqld
            mysqld             0:off    1:off    2:on    3:on    4:on    5:on    6:off
        ~]# bin/mysqld --help --verbose | less
            ...
            Default options are read from the following files in the given order:
            /etc/my.cnf /etc/mysql/my.cnf ~/.my.cnf 
            ...
            # 备注：文件顺序越后配置越先生效。

        ~]# mkdir /etc/mysql

        ~]# cp support-files/my-large.cnf /etc/mysql/my.cnf
            # 备注：support-files 目录下是其配置文件，分为了不同的级别。

        ~]# vi /etc/mysql/my.cnf    # [mysqld] 配置里添加这些内容
            [mysqld]
            datadir =/web/mysql
            skip_name_resolve = ON
            innodb_file_per_table = ON

        ~]# echo 'export PATH=/usr/local/mysql/bin:$PATH' >  /etc/profile.d/mysql.sh
            # 备注：加入到系统环境变量中

        ~]# source /etc/profile.d/mysql.sh

        ~]# mkdir /var/log/mariadb/

        ~]# mkdir /var/run/mariadb/

（4）：初始化，登录mysql。
        ~]# scripts/mysql_install_db  --user=mysql  --datadir=/web/mysql

        ~]# service mysqld (restart | start | stop | reload)
            # 备注：需要的时候可以这样操作它。

        ~]# mysql -uroot -hlocalhost -p
            Enter password:
            Welcome to the MariaDB monitor.  Commands end with ; or \g.
            Your MariaDB connection id is 5
            Server version: 10.1.13-MariaDB MariaDB Server
            # 备注：mysql 安装完成后密码默认为空


（5）：添加库文件到系统中。
        ~]# vi /etc/ld.so.conf.d/mysql.conf
            /usr/local/mysql/lib
        ~]# ldconfig
            #备注：重载
        ~]# ldconfig -p | grep mysql
            #备注：查看


三：源码编译安装（cmake）





四：授权

    ~]# grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;
    ~]# flush privileges;

    grant all privileges on *.* to '用户名'@'允许的主机' identified by '密码' with grant option;
    flush privileges;

     grant all privileges on *.* to 'tdrhtest'@'127.0.0.1' identified by 'tdrhEDU123' with grant option;
     grant all privileges on *.* to 'tdrhtest'@'localhost' identified by 'tdrhEDU123' with grant option;
     grant all privileges on *.* to 'tdrhtest'@'%' identified by 'tdrhEDU123' with grant option;
     flush privileges;

update mysql.user set password='' where user='root' && host='127.0.0.1';
update mysql.user set password='' where user='root' && host='localhost';
flush privileges;

     grant all privileges on *.* to 'mdx'@'127.0.0.1' identified by 'mdx147258369' with grant option;
     grant all privileges on *.* to 'mdx'@'localhost' identified by 'mdx147258369' with grant option;
     grant all privileges on *.* to 'mdx'@'%' identified by 'mdx147258369' with grant option;
     flush privileges;
     
备注：mariadb5 版本 和 10 版本 在目录上略有区别


 E_ALL & ~E_DEPRECATED & ~E_STRICT

 /tmp/mysql.sock

phpmyadmin/libraries/config.default.php
 //$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['host'] = '127.0.0.1';



mysql 导入
    ~]# mysql 命令行里面使用   source file 导入

mysql -utdrhtest -h127.0.0.1  -ptdrhEDU123 -P3306  --default-character-set=utf8  < ./gxydserver.sql


/usr/local/mysql/bin/mysqldump useryx -uroot -hlocalhost --default-character-set=utf8 > /web/backup/mysql/useryx-$(date  +%F-%H-%M-%S.sql)



mysqldump -d gxydserver -utdrhtest -ptdrhEDU123 -h127.0.0.1 --default-character-set=utf8 > ./gxyd.sql

mysqldump gxydserver -utdrhtest -ptdrhEDU123 -h127.0.0.1 --default-character-set=utf8 > ./gxyd.sql

mysqldump gxydserver addr_area addr_city addr_province -utdrhtest -ptdrhEDU123 -h127.0.0.1 --default-character-set=utf8 > ./gxyd.sql

只导出表结构
mysqldump --skip-comments -d gxydserver -utdrhtest -ptdrhEDU123 -h127.0.0.1 --default-character-set=utf8 > ./gxyd.sql

 
mysql -utdrhtest -ptdrhEDU123 -h127.0.0.1 -P3306 --default-character-set=utf8 < gxyd.sql

[client]
host=localhost
user=数据库用户
password='数据库密码'


vim /etc/mysql/my.cnf
[mysqldump]
user=your_backup_user_name
password=your_backup_password


1、停掉服务
   # /etc/init.d/mysqld stop
2、使用跳过授权表的方式启动
   # mysqld_safe --skip-grant-tables --user=mysql &
3、使用匿名用户登录
   # mysql
4、清空root的密码
   mysql> select user,host,password from mysql.user;
   mysql> update mysql.user set password='' where user='root' and host='localhost';
5、启动mysqld服务
   # mysqladmin shutdown
   # /etc/init.d/mysqld start
6、给root设置密码
   # mysqladmin -u root password 'redhat'
7、重启服务
   # /etc/init.d/mysqld restart
8、登录验证
   # mysql -u root -p



mha高可用
   http://www.iyunv.com/thread-21790-1-1.html